package cn.edu.sgu.www.mhxysy.service.equipment;

import cn.edu.sgu.www.mhxysy.dto.equipment.EquipmentTejiDTO;
import cn.edu.sgu.www.mhxysy.entity.equipment.EquipmentTeji;
import cn.edu.sgu.www.mhxysy.pager.equipment.EquipmentTejiPager;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface EquipmentTejiService {

	/**
	 * 上传图片
	 * @param file MultipartFile
	 * @return String 图片回显的URL
	 * @throws IOException UploadUtils.upload()抛出的异常
	 */
	String upload(MultipartFile file) throws IOException;

	/**
	 * 添加装备特技
	 * @param equipmentTejiDTO 装备特技信息
	 */
	void insert(EquipmentTejiDTO equipmentTejiDTO);

	/**
	 * 通过ID修改装备特技信息
	 * @param equipmentTejiDTO 装备特技信息
	 */
	void updateById(EquipmentTejiDTO equipmentTejiDTO);

	/**
	 * 通过ID修改装备特技图片
	 * @param id 装备特技ID
	 * @param image 图片地址
	 */
	void updateImageById(Integer id, String image);

	/**
	 * 查询全部装备特技
	 * @return List<EquipmentTeji>
	 */
	List<EquipmentTeji> selectAll();

	/**
	 * 通过ID查询装备特技信息
	 * @param id 装备特技ID
	 * @return EquipmentTeji
	 */
	EquipmentTeji selectById(Integer id);

	/**
	 * 分页查询特技列表
	 * @param pager 分页参数
	 * @return PageResult<EquipmentTeji>
	 */
	Page<EquipmentTeji> selectByPage(EquipmentTejiPager pager);
}